home *** CD-ROM | disk | FTP | other *** search
/ MacFormat 1995 April / macformat-023.iso / Shareware City / Developers / UltraShell™ Demo V1.1 / UltraShell™ Help File < prev   
Encoding:
Text File  |  1994-12-20  |  8.0 KB  |  187 lines  |  [TEXT/ttxt]

  1. UltraShell(TM) Version 1.1
  2. Copyright (C) 1994 by Zack T. Smith
  3. All Rights Reserved
  4.  
  5.  
  6. What is UltraShell?
  7. -----------------
  8.  
  9. UltraShell is a program that offers a command-line interface to the 
  10. Macintosh file system and to System 7.  It is written from scratch and is 
  11. designed to imitate the proverbial "C Shell" of Un*x-style operating 
  12. systems.  UltraShell permits you to accomplish a wide variety of common 
  13. tasks by typing them in rather than navigating through a Finder(R) 
  14. interface and clunky GUI-based utility programs.
  15.  
  16. UltraShell, because it is a C Shell, is a powerful computer language unto 
  17. itself, and includes a variety of useful commands for data manipulation; 
  18. for instance, it provides mechanisms for manipulating and combining the 
  19. data of multiple programs, such as by feeding the output of one to the 
  20. input of another in a chain.
  21.  
  22. UltraShell runs under System 7 -- it does NOT require a separate OS, or the 
  23. vast amounts of RAM and hard-disk space typical of Un*x variants.
  24.  
  25.  
  26. What functionalities does UltraShell 1.0 provide?
  27. -----------------------------------------------
  28.  
  29. * The command line interface.
  30. * The ability to run shell scripts (from the Finder and from within
  31.   UltraShell).
  32. * Variables for storage of user and system data.
  33. * Looping, conditional, and expression evaluation commands.
  34. * The ability to run external commands, both UltraShell-aware and regular
  35.   apps.
  36. * Internalized conventional commands, such as "ls", "grep", "more", "find",
  37.   "ps", and "mkdir", and "tar" for faster operation.
  38. * The ability to pipe data between UltraShell-aware commands and redirect
  39.   standard input, standard output, and standard error.
  40. * GUI-related commands, such as "dialog-open", "dialog-choose",
  41.   "dialog-input".
  42. * Command-within-a-command functionality, i.e. back-quote embedded
  43.   commands.
  44. * C Shell aliases (macros).
  45. * The ability to include looping and conditional commands inside aliases,
  46.   making them function-like.
  47. * History and simple !-style expressions.
  48. * Copy, cut, and paste operations.
  49. * Responsiveness to Ctrl-C, i.e. the break key.
  50. * Wildcards based on *, ?, and [].
  51. * Array variables, i.e. with references such as $name[3].
  52. * A programmable prompt which can display $cwd, $status, time, date, etc.
  53. * Path completion using the Tab key.
  54. * Changeable Console window font.
  55. * Recording of Console activity to a log file.
  56.  
  57.  
  58. What commands are included with UltraShell?
  59. -----------------------------------------
  60.  
  61. Conventional commands:
  62.  
  63.       @        evaluates an expression (e.g. "5 * 9 + $foo") and stores
  64.                the result into a variable
  65.       alias    sets a shell macro, or lists all current macros
  66.       beep     sounds the system beep
  67.       cat      concatenate the data of several files or standard input
  68.       cd       changes the current working directory
  69.       chmod    sets one or more files' 4-byte type fields.
  70.       clear    clears the screen
  71.       commands lists the available internal commands
  72.       cmp      compares two files
  73.       cp       copies files
  74.       date     prints the current date and time
  75.       df       prints the free space available in one or more volumes
  76.       dirs     prints the contents of the directory stack, which can be
  77.                used to hold paths of working directories.
  78.       du       prints space use for a directory hierarchy
  79.       echo     echos data to standard output
  80.       eject    ejects an ejectable volume, such as a floppy disk.
  81.       env      prints current variable settings.
  82.       eval     evaluates an expression (e.g. "11 + ( 44 / 9 ) - $foo"), and
  83.                prints the result
  84.       find     finds one or more files and/or directories within a directory
  85.                hierarchy
  86.       grep     searches the contents of files for patterns
  87.       head     prints the first n lines of a text file
  88.       help     displays this help listing
  89.       history  displays recently typed commands
  90.       let      same is "@" (example command: "let x[2] = 10 * $x[3]")
  91.       ls       lists the contents of one or more directories in any of a variety
  92.                of formats.
  93.       kill     sends a friendly 'kill' message (AppleEvent) to a process.
  94.       mkdir    creates a folder
  95.       more     dumps the contents of one or more files to the console
  96.                in screen-size chunks
  97.       mv       moves and/or renames files and folders
  98.       od    prints the byte-for-byte contents of a file in hexadecimal 
  99.                format.
  100.       prmod    prints one or more files' 4-byte type fields.
  101.       ps       lists the current running processes and related info
  102.       pushd    pushes $cwd or specified path onto an internal stack of
  103.                directories, then cd's to that path if not already there.
  104.       popd     pops the top element from the directory stack and cd's to 
  105.                it.
  106.       pwd      prints out the current directory
  107.       record_on    begins recording console activity to a file
  108.       record_off    stops recording console data.
  109.       restart  asks the Finder to restart the machine
  110.       rm       removes one or more files
  111.       rmdir    removes one or more empty directories
  112.       set      sets a shell variable to a given value
  113.       setenv   sets a shell variable to a given value
  114.       shutdown asks the Finder to shut down the machine
  115.       source   executes specified UltraShell(tm) scripts
  116.       split    splits a file into chunks based on # of lines or # of bytes.
  117.       tail     prints the last n lines of a text file
  118.       tar      creates, lists, or extracts a regular Un*x tape archive, 
  119.                which is a widely used standard for storing files and
  120.                directories in one file.
  121.       time     times the execution of a command, e.g. "time ls -R".
  122.       touch    sets one or more files' last-modified dates to the present 
  123.                date; if the file(s) don't exist, UltraShell creates them as 
  124.                zero length files.
  125.       tolower  converts text to lower case
  126.       toupper  converts text to upper case
  127.       unalias  removes a shell alias i.e. macro
  128.       unset    un-sets a shell variable
  129.       unsetenv un-sets a shell variable
  130.       usage    lists the parameters that are specified for a given command
  131.       wc       counts the # of words, characters, and/or lines in a text file
  132.       vol      prints the current volume name or lists available volumes.
  133.  
  134. Please note that most commands which take input from files can also read
  135. their data from the standard input. Among the commands which can do this are:
  136.      cat
  137.      grep
  138.      head
  139.      more
  140.      od
  141.      split
  142.      tail
  143.      tar
  144.      tolower
  145.      toupper
  146.      wc
  147.  
  148. Looping, conditional, and expression evaluation commands:
  149.  
  150.       if, else, endif
  151.       while, endw
  152.       switch, case, breaksw, endsw
  153.       foreach, end
  154.       @ and let (expression evaluator)
  155.       eval (expression evaluator)
  156.  
  157. GUI and sound related commands in UltraShell(TM) 1.1
  158.  
  159. Note! Several of the planned GUI commands have been taken out due to time
  160. and energy constraints. Please let me know if you really need any functions
  161. beyond the ones listed below, and I'll try to add them.
  162.  
  163.       dialog-choose     displays a dialog with 1, 2, or 3 nameable buttons and
  164.                         message
  165.       dialog-open       displays an "open" dialog to permit the user to select
  166.                         a file to be opened
  167.       dialog-save       displays a "save" dialog to permit the user to set the
  168.                         name and location of a file to be saved
  169.  
  170. Data redirection
  171.  
  172.       <      redirect standard input to read from a file
  173.       |      pipe standard output of one command into the standard input of
  174.                the next one
  175.       $<     insert a full line from the console as command line argument
  176.       >      redirect standard output to a file, overwriting
  177.       >>     redirect standard output to a file, appending
  178.       >&     redirect standard output and standard error to a file, overwriting
  179.       >>&    redirect standard output and standard error to a file, appending
  180.       |&     pipe both std output and std error to the std input of the next
  181.              command
  182.  
  183.  
  184. This is version 3 of the UltraShell Help File.
  185. All above text is Copyright (C) 1994 by Zack T. Smith
  186. All Rights Reserved.
  187.